﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Dominio
{
    public class TanqueAgua:Tanque,IMantenimiento
    {
        public string localizacion { get; set; }

        public TanqueAgua(string desc, int capacidad, string ubicacion, int calidad)
        {
            this.Descripcion = desc;
            this.Capacidad = capacidad;
            this.LitrosDisponibles = 0;
            this.localizacion = ubicacion;
            this.Calidad = calidad;
            //this.idTanque = Tanque.idTanque++;
            //_observadores = new List<IObservador>();
            this.Mantenimientos = new List<TareaMantenimiento>();
            this.Borrado = 0;
        }

        public override string ToString()
        {
            return this.idTanque + " " + this.Descripcion;
        }


        public void Limpieza(Tanque tanque)
        {
            TareaMantenimiento tarea = new Limpieza();
            tarea.FechaHora = DateTime.Now;
            tarea.Tanque = tanque;
            Mantenimientos.Add(tarea);
            this.LitrosDisponibles = 0;
            this.UltimaFechaLimpieza = DateTime.Now;
            tarea.Create();
        }


        public void Tratamiento(Tanque tanque)
        {
            TareaMantenimiento tarea = new Tratamiento();
            tarea.FechaHora = DateTime.Now;
            tarea.Tanque = tanque;
            Mantenimientos.Add(tarea);
            this.Calidad = 5;
            tarea.Create();
        }


        public void Reposicion(int IdReposicion, int CantLitros, DateTime Fecha)
        {
            TareaMantenimiento tarea = new Reposicion(CantLitros, IdReposicion, Fecha) ;
            tarea.FechaHora = Fecha;
            Mantenimientos.Add(tarea);
            tarea.Create();
        }
    }
}
